class OjetoGrafico(object):
    '''
    Classe criada apenas para demonstração de implementação
    de um método abastrato - recebendo @abstractmethod - define metodo abastrato
    pass é uma palavra reservada, sem valor
    '''    
    def __init__(self, centro):
        super(OjetoGrafico, self).__init__()  #instancia classe de classe
        self.__centro = centro
        
        @abstractmethod
        def desenha(self):
            """
            metodo abstrato criado, pois antes de desenhar é preciso saber seu tipo
            algoritmo incompleto - ideia é apenas mostrar como é
            """
            pass
        
        def apaga(self):
            self.setPenColor(self.BACKGROUND_COLOR)
            self.desenha()
            self.setPenColor(self.FOREGROUND_COLOR)
            
        def moverPara(self, p):
            self.apaga()
            self.__centro = p
            self.desenho()
            